 
 
 
 // permet de cacher un modal en fonction de son id, et d'un délai
 function enleverModal(idModal, delai){
     setTimeout(function(){
        $('#'+idModal).modal('hide'); 
     }, delai);
 }
 
 
 $(function(){
    
    
    // DEFINITION DES BOUTONS OU LIENS QUI FERONT APPARAITRE LES MODALS : CONNEXION, INSCRIPTION, AJOUT AVIS, PANIER
    $('#connexion_modal').click(function(){
        cacherTousLesModals();
        $('#retourConnectUser').removeClass('alert alert-success alert-error').empty();
        $('#connexion_message').modal();   
    });
    $('#sinscrire_modal').click(function(){
        cacherTousLesModals();
            $('#sinscrire_message').modal();   
    });
    $('#btnShowModalAjoutAvis').click(function(){
        cacherTousLesModals();
            $('#ajout_avis_message').modal();   
    });
    
    $('.showModalConnex').click(function(){
         cacherTousLesModals();
         $('#connexion_modal').trigger('click');
    });
    $('.showModalInscription').click(function(){
         cacherTousLesModals();
         $('#sinscrire_modal').trigger('click');
    });
    
    $('.btnShowModalPanier').click(function(){
        cacherTousLesModals();
        $('#Modalpanier').modal();
        return false;
    });
    
    function cacherTousLesModals(){
        $('#connexion_message').modal('hide');
        $('#Modalpanier').modal('hide');
        $('#sinscrire_message').modal('hide');
        $('#ajout_avis_message').modal('hide');
    }
    
    
    
    // verification du formulaire  d'inscription
    $('#formInscription').submit(function(){
        var lesChampsTxt = $("#formInscription input[type='text'], #formInscription input[type='password'] ");
        $('#retourAddUser').empty().removeClass('alert alert-success alert-error');
        var verifChamps = false;
        // on récupère tous les champs texte du formulaire, on itère dessus pour vérifier qu'ils ne sont pas vides, sinon on avertit le user
        lesChampsTxt.each(function(i, field){
            if(field.value.trim() == ""){
                $('#retourAddUser').addClass('alert').append("le champ <strong>"+field.name+"</strong> est vide<br>");
                verifChamps = true;
            }
        });
        if(verifChamps){
            return false;
        }
          
    });
    
    
    //  verification du formulaire  de connexion
    $('#formConnexion').submit(function(){
         var login = $('#loginConnect').val().trim();
         var mdp = $('#mdpConnect').val().trim();
         if(login == "" || mdp == ""){
            $('#retourConnectUser').addClass('alert').html("Veuillez remplir les champs");
            return false;
         }
    });
   
    
    // GESTION DES CHANGEMENTS DES QUANTITES DANS LE PANIER USER
    
    $('.qteMoins').click(function(){
        
        var qte =  parseInt($(this).siblings('input').val());
        if(qte > 1){
            $(this).siblings('input').val(qte-1);
            calculPrixTotalUnitaire($(this).parent().parent());
            calculTotalQte();
            prixTotal();
        }
        
    });
    
    $('.qtePlus').click(function(){
        
        var qte =  parseInt($(this).siblings('input').val());
        var qteMax = parseInt($(this).siblings('input').attr('data-stk'));
        
        if(qte < qteMax){
            $(this).siblings('input').val(qte+1);
            calculPrixTotalUnitaire($(this).parent().parent());
            calculTotalQte();
            prixTotal();
        }
        
    });
    
    // calcul le prix total d'une ligne dans le panier
    function calculPrixTotalUnitaire(elt){
        var prix = parseInt($(elt).children('td.prixUnitaire').text());
        var qte = parseInt($(elt).find('input.champsQte').val());
        $(elt).children('td.prixTotalUnitaire').text(prix*qte);
        
    }
    
    // calcul le nombre total de produits dans le panier
    function calculTotalQte(){
        var lesQte = $('input.champsQte');
        var totalQte = 0;
        
        $.each(lesQte, function(i){
            totalQte +=  parseInt($(lesQte[i]).val());
        });
        $('#nbTotalQteProduits').text(totalQte);
        
    }
    
    // calcul le prix total du panier
    function prixTotal(){
        var lesPrixUnitaires = $('td.prixTotalUnitaire');
        var prixTotal = 0;
        
         $.each(lesPrixUnitaires, function(i){
            prixTotal +=  parseInt($(lesPrixUnitaires[i]).text());
        });
        $('#prixTotalPanier').text(prixTotal);
    }
    
    // protection  des input de QTE
    
    $('.champsQte').keydown(function(event){
        
        if ( event.keyCode == 46 || event.keyCode == 8 ) {
                // let it happen, don't do anything
        }
        else {
                // Ensure that it is a number and stop the keypress
                if (event.keyCode < 48 || event.keyCode > 57 ) {
                        event.preventDefault(); 
                }       
        }
        
    });
    $('#menu a').click(function ( e ) {
                e.preventDefault();
                $(this).tab('show');
            });
 });